use super::hitls_pki_types::HITLS_X509_SignAlgParam;
use crate::bsl::bsl_list::BslList;
use crate::bsl::bsl_types::BSL_Buffer;
use crate::crypto::crypt_eal_pkey::CRYPT_EAL_PkeyCtx;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _HITLS_X509_Crl {
    _unused: [u8; 0],
}
pub type HITLS_X509_Crl = _HITLS_X509_Crl;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _HITLS_X509_CrlEntry {
    _unused: [u8; 0],
}
pub type HITLS_X509_CrlEntry = _HITLS_X509_CrlEntry;
unsafe extern "C" {
    pub fn HITLS_X509_CrlNew() -> *mut HITLS_X509_Crl;
}
unsafe extern "C" {
    pub fn HITLS_X509_CrlFree(crl: *mut HITLS_X509_Crl);
}
unsafe extern "C" {
    pub fn HITLS_X509_CrlCtrl(
        crl: *mut HITLS_X509_Crl,
        cmd: i32,
        val: *mut ::std::os::raw::c_void,
        valLen: u32,
    ) -> i32;
}
unsafe extern "C" {
    pub fn HITLS_X509_CrlParseBuff(
        format: i32,
        encode: *const BSL_Buffer,
        crl: *mut *mut HITLS_X509_Crl,
    ) -> i32;
}
unsafe extern "C" {
    pub fn HITLS_X509_CrlParseBundleBuff(
        format: i32,
        encode: *const BSL_Buffer,
        crlList: *mut *mut BslList,
    ) -> i32;
}
unsafe extern "C" {
    pub fn HITLS_X509_CrlParseFile(
        format: i32,
        path: *const ::std::os::raw::c_char,
        crl: *mut *mut HITLS_X509_Crl,
    ) -> i32;
}
unsafe extern "C" {
    pub fn HITLS_X509_CrlParseBundleFile(
        format: i32,
        path: *const ::std::os::raw::c_char,
        crlList: *mut *mut BslList,
    ) -> i32;
}
unsafe extern "C" {
    pub fn HITLS_X509_CrlGenBuff(
        format: i32,
        crl: *mut HITLS_X509_Crl,
        buff: *mut BSL_Buffer,
    ) -> i32;
}
unsafe extern "C" {
    pub fn HITLS_X509_CrlGenFile(
        format: i32,
        crl: *mut HITLS_X509_Crl,
        path: *const ::std::os::raw::c_char,
    ) -> i32;
}
unsafe extern "C" {
    pub fn HITLS_X509_CrlVerify(
        pubkey: *mut ::std::os::raw::c_void,
        crl: *const HITLS_X509_Crl,
    ) -> i32;
}
unsafe extern "C" {
    pub fn HITLS_X509_CrlSign(
        mdId: i32,
        prvKey: *const CRYPT_EAL_PkeyCtx,
        algParam: *const HITLS_X509_SignAlgParam,
        crl: *mut HITLS_X509_Crl,
    ) -> i32;
}
unsafe extern "C" {
    pub fn HITLS_X509_CrlEntryNew() -> *mut HITLS_X509_CrlEntry;
}
unsafe extern "C" {
    pub fn HITLS_X509_CrlEntryFree(entry: *mut HITLS_X509_CrlEntry);
}
unsafe extern "C" {
    pub fn HITLS_X509_CrlEntryCtrl(
        revoked: *mut HITLS_X509_CrlEntry,
        cmd: i32,
        val: *mut ::std::os::raw::c_void,
        valLen: u32,
    ) -> i32;
}
